Triangle automatic matching method

ABSTRACT

The invention discloses a triangle automatic matching method to provide a unique and precise matching method that can be used to judge the similarity of two sets of planar points. The methods comprise of steps: (a) Generate the triangular elements and matching-related flag matrices. (b) Determine the triangle weighting value combined with triangle coarse matching. (c) Convert the coordinate. And (d) calculate the similarity.

BACKGROUND OF INVENTION

[0001] 1. Field of the Invention

[0002] The invention relates to a precise and automatic matching methodfor two sets of planar point patterns, especially to the auto matchingmethod and the application thereof such as biometric system.

[0003] 2. Description of the Related Art

[0004] Methods for identifying two or more sets of planar points patternbecome a more popular topic in science and technology. The primary goalof these methods using digital system is to distinguish whether two ormore planar point patterns are similar or not. The fields ofapplications directly related to these methods include computer visionand image processing. An example of these applications is recognition ofhand-written characters such as OCR (Optical character recognition), andanother good example is the biometrics, which use the physical orbehavioral characters of human to achieve personal ID identify. Sincethe advent of Internet, through Internet, fingerprints and irisidentification methods, have been provided to support electricalcommerce, information security, on-line order and payment, or creditcard service. In addition, these technologies also support off-linesystem, security control of automobile lock, and the launching forengine system. The prior art matching methods for the planar points,such as Fuzzy relaxation, and point-to-line voting, for example, U.S.Pat. Nos. 5,392,367, 5,974,176, and 5,991,430, are conducted in sixmatching procedures. The first is to abstract the input parameters ofall the points. The second is to precede the coarse-matching to filterout the impossible matched pairs by means of the distance and anglebetween points. The third is to use either Fuzzy relaxation orpoint-to-line voting method to find out the four most possible matchedpairs. The fourth is to determine the rotation and translation of thesetwo sets of planar points from four most possible matched pairsmentioned by the third procedure. The fifth is to convert thecoordinates and to find the summation of distance. And the sixth is touse the summation of distance from the fifth procedure to calculate thesimilarity. However, neither Fuzzy relaxation method nor Point-to-linemethod can determine the four most matched pairs rigid enough. Once thefirst of the four matched pairs are selected mistakenly, these methodswill give a totally unexpected result due to incorrect rotation andtranslation. According to the drawback of the prior art, the inventionfurther provides a method, triangle-matching method, which can overcomethe drawback of the prior art described.

SUMMARY OF THE INVENTION

[0005] The invention refers to the Huber Space Telescope matchingmethod, using the triangular elements to determine the translation androtation of the coordinates between the images of starts and thedatabase. But the invention further improves the Huber Space Telescopemethod because of only by the side of a triangle, not by the entiretriangle like the Huber Space Telescope method, to determine thegeometrical information. The invention comprises of the following steps:

[0006] (a) Generate the triangular element matrices; generate a list ofall the possible sides of a triangle basing on the vertices of theothers triangle and 12 geometrical parameters stored in two matricessuch as T_(I) and T_(R), wherein the subscripts I and R individuallyrepresent the input and reference. According to the 12 geometricalparameters stored in these matrices, one can confirm the first fourmatched pairs. As a result, this step can considerably reduce thepossibility of wrong selection.

[0007] (b) Generate matching-related flag matrix such as FM; the twopoint patterns sets p and q can be related to each other under thefollowing conditions,

|x _(p) −x _(q) |<X&|y _(p) −y _(q) |<Y&|θ_(p)−θ_(q)|<Θ,

[0008]  , wherein subscripts p and q represent the coordinate and thecharacteristic angle θ in the input test set P and the reference set Q.Further X, Y are the tolerances of the differences of the position. Θ isthe tolerance of the difference of characteristic angle between thesetwo sets. If all the conditions are satisfied, then set flag fm[pq]=1.wherein fm[pq] is the element of the Martix FM

[0009] (c) Determine the triangle weighting value in combination withthe triangle coarse matching thereof; Triangle weighting value has twobenefits: one is to find the tendency of direction about the triangularelements, the other is to determine the shift and rotation parameters.Before this procedure, there is an apriority value, fm[pq], needs to beverified. If fm[pq]=1, then go on with triangle coarse matching.Triangle coarse matching, in which the propose is to filter out theimpossible mated points of triangle elements according to theirgeometrical parameter in the input set P and reference set Q. Set theseveral conditions to determine whether a triangle element from patternP and a triangle element from pattern Q are definitely mated or not:

|T _(I)(l ₁)−T _(R)(l ₁)|<L&|T _(I)(l ₂)−T _(R)(l ₂)|<L&|T _(I)(l ₃)−T_(R)(l ₁)|<L;

|T _(I)(λ₁)−T _(R)(λ₁)|<Λ&|T _(I)(λ₂)−T _(R)(λ₂)|<Λ&|T _(I)(λ₃)−T_(R)(λ₃)|<Λ;

|T _(I)(θ₁)−T _(R)(θ₁)|<Θ&|T _(I)(θ₂)−T _(R)(θ₂)|<Θ&|T _(I)(θ₃)−T_(R)(θ₃)|<Θ;

|T _(I)(α₁)−T _(R)(α₁)|<A&|T _(I)(α₂)−T _(R)(α₂)|<A&|T _(I)(α₃)−T_(R)(α₃)|<A,

[0010]  wherein the subscripts 1, 2, 3 represent the vertices of atriangle and L, Λ, Θ and A are the thresholds.

[0011] If the geometric parameters do not satisfy any of the conditions,then we can discard those elements that are impossible mated and theinformation about those elements will not go to determine the triangleweighting value. However, once a pair of triangles meets all theconditions, then the direction of a triangle element, such as D, can bedefined as the average of the difference between input I and reference Rangles:${D = \frac{{{{T_{I}\left( \alpha_{1} \right)} - {T_{R}\left( \alpha_{1} \right)}}} + {{{T_{I}\left( \alpha_{2} \right)} - {T_{R}\left( \alpha_{2} \right)}}} + {{{T_{I}\left( \alpha_{3} \right)} - {T_{R}\left( \alpha_{3} \right)}}}}{3}},$

[0012] where the angles α_(i) are between each side of a triangle andthe X-axis.

[0013] The weight of all the possible matched pairs of triangle elementsis:${{W\left( D_{m} \right)} = {\sum\limits_{i = 1}^{N_{p}}\quad {\sum\limits_{j = 1}^{N_{p}}\quad {\sum\limits_{k = 1}^{N_{p}}\quad {\sum\limits_{r = 1}^{N_{q}}\quad {\sum\limits_{g = 1}^{N_{q}}\quad {\sum\limits_{t = 1}^{N_{q}}\quad \left\lbrack {L - \left( {{{T_{I}\left( l_{ij} \right)} - {T_{R}\left( l_{rs} \right)}}} \right) + L - \left( {{{T_{I}\left( l_{ik} \right)} - {T_{R}\left( l_{rt} \right)}}} \right) + L - \left( {{{T_{I}\left( l_{jk} \right)} - {T_{R}\left( l_{st} \right)}}} \right)} \right\rbrack}}}}}}},$

[0014] where T_(I) and T_(R) are the matched number of points in theinput set and the reference set respectively, and L is the threshold oflength.

[0015] (d) Convert the coordinate; to convert a set of the points to thenew coordinate needs to determine four parameters, which can be derivedfrom the four most matched pairs in the highest weighting valuedirection D_(h), i.e. for every m, W(D_(h))=max{W(D_(m))} (m=1, 2, . . .n), Where the angle depending on the weighting value thereof isintroduced in the step(c). Use the four most matched pairs to determinethe rotation and translation parameters of coordinate, in which convertthe set of the points to the new coordinate: ${\begin{bmatrix}{NewX} \\{NewY}\end{bmatrix} = {\begin{bmatrix}t_{1} \\t_{2}\end{bmatrix} + {\begin{bmatrix}r_{1} & {- r_{2}} \\r_{2} & r_{2}\end{bmatrix}\begin{bmatrix}X \\Y\end{bmatrix}}}},$

[0016]  where t₁ and t₂ are the translation parameters, r₁ and r₂ arethe rotation parameters. After finding these four parameters, thecoordinate can be converted into the new one.

[0017] (e) Calculate the similarity; the similarity is determined by thecombinations of the weighting value such as W and the number of matchingpoints such as N, the average of the distance between each correctionalnew points of one set and corresponding points of another set. Thesimilarity, such as (Sim), is simply a algebra function of weightingvalue such as (W). Inverse of the average distance$\left( \frac{1}{S} \right),$

[0018] number of matching pairs (N_(m)),the number of points in inputset (N_(p))and the number of points in reference set (N_(q)). Therefore,it is defined as, ${{Sim} = \frac{{WN}_{m}^{2}}{{SN}_{p}N_{q}}},$

[0019] which can be completed the triangle matching method of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The following detailed description, given by way of examples andnot intended to limit the invention to the embodiment described herein,will best be understood in conjunction with the accompanying drawings,in which:

[0021]FIG. 1 illustrates the flow chart diagram of the invention;

[0022]FIG. 2 illustrates the details of the flow chart of FIG. 1;

[0023]FIG. 3 illustrates a schematic diagram for the specific 12geometrical parameters of the invention;

[0024]FIG. 4 illustrates a schematic diagram of the characteristic angleD_(c), using symbol θ presents in this figure;

[0025]FIG. 5 a-d illustrates tables of the points and their featuredirection in X-Y coordinates of two pair of patterns, where one pair ofpatterns is similar and another is not;

[0026]FIG. 6a-d illustrates tables or diagrams of the position of twopairs of set in two dimension space, where one pair of points is similarand another is not;

[0027]FIGS. 7a-h illustrates the tables or diagrams of results of thetwo pair of planar points patterns after triangle coarse matching;

[0028]FIGS. 8a-d illustrates tables or diagrams of the results afterconverting coordinate process alter;

[0029]FIGS. 9a-d illustrates the diagrams of the positions of similar ornon-similar test pattern; and

[0030]FIG. 10 illustrates a diagram of FAR/FRR.

DETAIL DESCRIPTION OF THE INVENTION

[0031] Referring to FIG. 1, which illustrates the flow chart 100 of theinvention; in the step 101 and 102, generate a list of all the possiblesides of a triangle based on the vertices of each triangle and store allthe 12 geometrical parameters in the two matrices such as T_(I) andT_(R), wherein the subscript I and R individually represent the inputand reference. According to the 12 geometrical parameters stored inthese matrices, which one can confirm the first four matched pairs, as aresult, which can considerably reduce the possibility of wrongselection. In addition, by generating matching-related flag matrix suchas Fm, the two point patterns sets p and q can be related to each otherunder the following conditions, as shown in FIG. 3,

|x _(p) −x _(q) |<X&|y _(p) −y _(q) |<Y&|θ_(p)−θ_(q)|<θ,  (1)

[0032] wherein subscripts p and q represent the coordinate and thecharacteristic angle, as shown in FIG. 4 which illustrates thecharacteristic angle, using symbol θ to represent in this figure, in theinput test set P and the reference set Q. further X, Y are thetolerances of the differences of the position while Θ is the toleranceof the differences of characteristic angle between these two sets. Ifall the conditions are satisfied, then set flag fm[pq]=1. In the step103 and 104, determine the triangle weighting value combined withtriangle coarse matching; Before processing this procedure, there is anapriority value needs to be verified. If fm[pq]=1, then go on withtriangle coarse matching. i.e. :

∀fm[pq],p∈P,q∈Q:fm[pq]=1.  (2)

[0033] Triangle coarse matching, in which the propose is to filter outthe impossible mated points of triangle elements according to theirgeometrical parameter in the input set P and reference set Q. Set theseveral conditions to determine whether a triangle element from patternP and a triangle element from pattern Q are definitely mated or not:

|T _(I)(l ₁)−T _(R)(l ₁)|<L&|T _(I)(l ₂)−T _(R)(l ₂)|<L&|T _(I)(l ₃)−T_(R)(l ₁)|<L|T _(I)(λ₁)−T _(R)(λ₁)|<Λ&|T _(I)(λ₂)−T _(R)(λ₂)|<Λ&|T_(I)(λ₃)−T _(R)(λ₃)|<Λ|T _(I)(θ₁)−T _(R)(θ₁)|<Θ&|T _(I)(θ₂)−T_(R)(θ₂)|<Θ&|T _(I)(Θ₃)−T _(R)(θ₃)|<Θ|T _(I)(α₁)−T _(R)(α₁)|<A&|T_(I)(α₂)−T _(R)(α₂)|<A&|T _(I)(α₃)−T _(R)(α₃)|<A,  (3)

[0034] where L, Λ, Θ and A are the thresholds, and the internal anglescan be computed by:

λ₁=π−(α₂−α₃)

λ₂=π−(α₃−α₁)

λ₃=π−(α₁−α₂).  (4)

[0035] If the geometric parameters do not satisfy any of the conditions,then we can discard those elements that are impossible mated and theinformation about those elements will not go to determine the triangleweighting value. However, once a pair of triangles meets all theconditions, then the direction of a triangle element-D can be defined asthe average of the difference between input I and reference R angles:$\begin{matrix}{D = {\frac{{{{T_{I}\left( \alpha_{1} \right)} - {T_{R}\left( \alpha_{1} \right)}}} + {{{T_{I}\left( \alpha_{2} \right)} - {T_{R}\left( \alpha_{2} \right)}}} + {{{T_{I}\left( \alpha_{3} \right)} - {T_{R}\left( \alpha_{3} \right)}}}}{3}.}} & (5)\end{matrix}$

[0036] It's an average effect of the three angles that between each sideof the triangle and the X-axis. In order to decide the tendency of thedirection of these triangular elements, dividing the plane space into nequal sectors: D₁, D₂, . . . D_(n). By statistic point of view, if thereis a rotating effect between the input test and reference triangularelements, this effect will apparent in a sector among one of the D₁, D₂,. . . D_(n). In other words, we use the histogram of the directions todecide the tendency, somewhat like windrose diagram which often use inmeteorology. For each direction D_(m)(m=1,2, . . . n), the weighting ofall the possible matched pairs of triangle elements is: $\begin{matrix}{{W\left( D_{m} \right)} = {\sum\limits_{i = 1}^{N_{p}}\quad {\sum\limits_{j = 1}^{N_{p}}\quad {\sum\limits_{k = 1}^{N_{p}}\quad {\sum\limits_{r = 1}^{N_{q}}\quad {\sum\limits_{g = 1}^{N_{q}}\quad {\sum\limits_{t = 1}^{N_{q}}\quad {\left\lbrack {L - \left( {{{T_{I}\left( l_{ij} \right)} - {T_{R}\left( l_{rs} \right)}}} \right) + L - \left( {{{T_{I}\left( l_{ik} \right)} - {T_{R}\left( l_{rt} \right)}}} \right) + L - \left( {{{T_{I}\left( l_{jk} \right)} - {T_{R}\left( l_{st} \right)}}} \right)} \right\rbrack.}}}}}}}} & (6)\end{matrix}$

[0037] Where T_(I) and T_(R) are the the input test matrix and thereference matrix respectively, and L is the threshold of length in (3).

[0038] Continuously, In the step 105, Converting the coordinate; toconvert a set of the points to the new coordinate needs to determinefour parameters, of which the coordinates of the four most matched pairsin the highest weighting value direction, i.e.

∀m, W(D _(h))=max{W(D _(m))}  (7)

[0039] (m=1, 2, . . . n), where the angle depending on the weightingvalue W(D) is introduced in the step 104. Using the four most matchedpairs to determine the rotation and translation parameters ofcoordinate, in which convert a set of the points to the new coordinate:$\begin{matrix}{\begin{bmatrix}{NewX} \\{NewY}\end{bmatrix} = {\begin{bmatrix}t_{1} \\t_{2}\end{bmatrix} + {{\begin{bmatrix}r_{1} & {- r_{2}} \\r_{2} & r_{2}\end{bmatrix}\begin{bmatrix}X \\Y\end{bmatrix}}.}}} & (8)\end{matrix}$

[0040] where t₁ and t₂ are the translation parameters, r₁ and r₂ are therotation parameters.

[0041] After finding these four parameters, the coordinate can beconverted into the new one. After coordinate converting, one can findthe average distance (S) between the points of new set (X_(New),Y_(New)) and the corresponding points of the reference set (X_(ref),Y_(ref)): $\begin{matrix}{S = {\frac{S_{I}}{N_{m}} = {\frac{\sum\limits_{\beta = 1}^{N_{m}}\quad \left\lbrack {\left( {x_{{new}\quad \beta} - x_{{ref}\quad \beta}} \right)^{2} + \left( {y_{{new}\quad \beta} - y_{{ref}\quad \beta}} \right)^{2}} \right\rbrack}{N_{m}}.}}} & (9)\end{matrix}$

[0042] where N_(m) is number of the matched points. Finally, In the step106, Calculating the similarity; the similarity is determined by thecombinations of the weighting value such as (W) and the number ofmatching points such as (N_(m)), the average of the distance betweeneach correctional new points of one set and corresponding points ofanother set. The similarity such as (Sim) is simply a algebra functionof weighting value (W), Inverse of the average distance ({fraction(1/S)}), number of matching pairs (N_(m)), (N_(p))—the number of pointsin input set and (N_(q))—the number of points in reference set.Therefore, it is defined as: $\begin{matrix}{{{Sim} = \frac{{WN}_{m}^{2}}{{SN}_{p}N_{q}}},} & (10)\end{matrix}$

[0043] which can be completed the triangle matching method of theinvention.Referring to FIG. 2, which further illustrates the flow chartof the FIG. 1; the step 200 and step 201 are included into the Step 102of the FIG. 1. The step 202 is included into the step 104 of the FIG. 1.And the steps from 203 to 207 are included into the step 106 of FIG. 1.Regarding the steps from 200 to steps 207, we had described these withinthe FIG. 1.

[0044]FIG. 5 (a), (b), (c) and (d) illustrate two set pairs of planarpoints patterns. Where one pair (Pattern A and Pattern B) are similarand another (Pattern C and Pattern D) are not. The coordinates and thefeature directions of the points are listed in the tables. Among thepatterns, Pattern A, the test pattern (FIG. 5(a)) is considered similarto Pattern B (FIG. 5(b)), the reference pattern, their positions areshown in FIGS. 6(a) and (b) corresponding. After triangle coarsematching, filtering out the impossible matching points, the first fourmatched pairs with highest weighting value are found to be:

(182, 157),(195, 111),(149, 227)(117, 157)  (11)

[0045] The remainder show in FIG. 7(a) (test pattern) and (b) (referencepattern).By (11) and using (8), the translation and rotation parametersare found to be:

t ₁=0.223

t ₂=−15.744

r ₁=1.000

r ₂=0.019.  (12)

[0046] After translation and rotation conversion, the coordinate of thetest pattern is shown in FIG. 8(a). The weighting value W is:$\begin{matrix}{W = {{\sum\limits_{i = 1}^{17}\quad w_{i}} = 23946}} & (13)\end{matrix}$

[0047] In this case, where represents the individual weight of thematched points. According to (9), the average distance is:$\begin{matrix}{S_{I} = {{\sum\limits_{\beta = 1}^{17}\quad \left\lbrack {\left( {x_{{new}\quad \beta} - x_{{ref}\quad \beta}} \right)^{2} + \left( {x_{{new}\quad \beta} - x_{{ref}\quad \beta}} \right)^{2}} \right\rbrack} = {221.633\quad {and}}}} & (14) \\{S = {\frac{S_{I}}{17} = 13.03}} & (15)\end{matrix}$

[0048] By (13), (14) and (15), the similarity is: $\begin{matrix}{{Sim} = {\frac{23946\left( \frac{17}{26} \right)\left( \frac{17}{28} \right)}{13.03} = 729.5}} & (16)\end{matrix}$

[0049] It considers to be a high similarity matching sets. Next, we showanother non-similar case. The test pattern C (FIG. 5(c)) is consideredNOT similar to the reference Pattern D (FIG. 5(d)), the referencepattern, their positions are shown in FIGS. 6(c) and (d) corresponding.After triangle coarse matching, filtering out the impossible matchingpoints, the first four matched pairs with highest weighting value arefound to be:

(193, 105),(50, 80),(115, 36),(178, 200)  (17)

[0050] The remainder shows in FIG. 7(c) (test pattern) and (d)(reference pattern). By (17) and using (8), the translation and rotationparameters are found to be:

t ₁=22.517

t ₂=−20.239

r ₁=0.990

r ₂=0.143.  (18)

[0051] After translation and rotation conversion, the coordinate of thetest pattern is shown in FIG. 8(b). The weighting value becomes:$\begin{matrix}{W = {{\sum\limits_{i = 1}^{4}\quad w_{i}} = 1745}} & (19)\end{matrix}$

[0052] In this case, where represents the individual weight of thematched points. According to (9), the average distance is:$\begin{matrix}{S_{I} = {{\sum\limits_{\beta = 1}^{4}\quad \left\lbrack {\left( {x_{{new}\quad \beta} - x_{{ref}\quad \beta}} \right)^{2} + \left( {x_{{new}\quad \beta} - x_{{ref}\quad \beta}} \right)^{2}} \right\rbrack} = {230.088\quad {and}}}} & (20) \\{S = {\frac{S_{I}}{4} = 57.52}} & (21)\end{matrix}$

[0053] By (19), (20)and (21), similarity is: $\begin{matrix}{{Sim} = {\frac{1745\left( \frac{4}{32} \right)\left( \frac{4}{32} \right)}{57.52} = {0.47.}}} & (22)\end{matrix}$

[0054] From (22), the value of similarity indeed, is low. FIGS. 8illustrates how the results alter after converting coordinate process.FIG.8 (a) and (b) represent the coordinates of the similar test andreference patterns while FIG.8(c) and (d) show the non-similar pair;FIGS.9 illustrates the positions of the similar test pattern, as shownin FIG. 9 (a), and the non-similar one, as shown in FIG. 9 (b), afterthe translation and rotation conversion about the two pair of planarpoints patterns; and In order to prove that the effects of thisinvention satisfies the high precision as we need, there are 2520fingerprints in the database, 126 fingers, each with 20 samefingerprints. The number of similar matching is: 126*(20)*(20−1)=47880,every pattern obtained from a finger is matched with patterns from otherfingers. The number of non-similar matching is:((126−1)*20)*2520=6300000, the results of the matching of patterns of2520 finger prints obtained from 126 fingers is shown in FIG. 10. TheFRR of this invention is quit well. The above description only theframework of this invention. Those technology will be able to havefurther improvement and modification with the spirit and framework ofthis invention, but all such improvement or modification should be underthe scope of this present invention.

What is claimed is:
 1. A triangle automatic matching method provides aunique and precise matching method that can be used to judge thesimilarity of two sets of planar points, comprising: Generating aplurality of triangular elements and matching-related flag matrices upona coordinate; Determining a triangle weighting value combined withtriangle coarse matching depending on said triangular elements and saidflag matrices; Converting said coordinate depending on said triangleweighting value; and Calculate said similarity depending on saidtriangle weighting value.
 2. The method as in claim 1, wherein saidfirst step further includes generating a list of all the possible sideof a triangle based on the vertices of each triangle and 12 geometricalparameters stored in two matrices.
 3. The method as in claim 1, whereinsaid first step further includes generating a matching related flagmatrix under a plurality conditions, and setting said flag matrix. 4.The method as in claim 1, wherein said triangle weighting value can tofind the tendency of direction about the triangular elements and also todetermine the shift and rotation parameters.
 5. The method as in claim1, wherein before said third step, flag matrix must first be verified,then going on with triangle coarse matching.
 6. The method as in claim1, wherein said triangle coarse matching is to filter out the impossiblemated points of said triangle elements according to the geometricalparameter thereof in a input set and a reference set, then setting aplurality of predetermined conditions to determine whether said triangleelement from said input set and said triangle element from saidreference set are definitely mated or not. If said geometric parametersdo not satisfy said conditions, then discarding said elements, if so,said triangle element can be defined as an average of the differencebetween said inputs set and said reference sets angle.
 7. The method asin claim 6, wherein said fourth step further comprises converting saidpoints to the new coordinate after determining the four parameters ofsaid geometric parameters.
 8. The method as in claim 1, wherein saidsimilarity is determined by the combination of said weighting value andsaid points.
 9. The method as in claim 1, wherein said similarity issimply an algebra function.